package com.share.device.domain;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.share.common.core.annotation.Excel;
import org.apache.ibatis.type.Alias;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;


/**
 * 区域对象 areas
 * 
 * @author nancy
 * @date 2024-08-16
 */
@Alias("Areas")
@Data
public class Areas implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 区域ID */
    @Excel(name = "区域ID")
    private Long areaId;

    /** 父级区域ID */
    @Excel(name = "父级区域ID")
    private Long parentId;

    /** 区域名称 */
    @Excel(name = "区域名称")
    private String areaName;

    /** 区域编码 */
    @Excel(name = "区域编码")
    private String areaCode;

    /** 负责人ID */
    @Excel(name = "负责人ID")
    private Long managerId;

    public void setAreaId(Long areaId) 
    {
        this.areaId = areaId;
    }

    public Long getAreaId() 
    {
        return areaId;
    }

    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }

    public void setAreaName(String areaName) 
    {
        this.areaName = areaName;
    }

    public String getAreaName() 
    {
        return areaName;
    }

    public void setAreaCode(String areaCode) 
    {
        this.areaCode = areaCode;
    }

    public String getAreaCode() 
    {
        return areaCode;
    }

    public void setManagerId(Long managerId) 
    {
        this.managerId = managerId;
    }

    public Long getManagerId() 
    {
        return managerId;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("areaId", getAreaId())
            .append("parentId", getParentId())
            .append("areaName", getAreaName())
            .append("areaCode", getAreaCode())
            .append("managerId", getManagerId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}